Conversational computing is a style of human-computer interaction in which users interact with computer programs through commands and responses in a natural language. A natural language is a scripted (written) or a vocalized (spoken) language having a form that is employed by humans for primarily communicating with other humans or with systems having a natural language interface. While a user often interacts with such systems by voice, other input methods, such as typing into a chat application or text supplied from a speech-to-text application, are also available. Other output methods, such as text—for example, in responses in a chat application—are available as well.
For example, digital assistant programs such as IBM's Watson Assistant, Amazon's Alexa, Microsoft's Cortana, Google's Assistant, and Apple's Siri use conversational computing to respond to voice commands to handle various tasks. (IBM and IBM Watson are trademarks of International Business Machines Corporation in the United States and in other countries. Alexa is a trademark of Amazon.com, Inc. or its affiliates in the United States and in other countries. Cortana is a trademark of Microsoft Corporation in the United States and in other countries. Google Assistant is a trademark of Google Inc. in the United States and in other countries. Siri is a trademark of Apple Inc. in the United States and in other countries.)
Conversational computing systems typically use a library of skills, where each skill is a module that includes an associated vocabulary and some computer-implemented functionality based on that vocabulary. For example, a clock skill might include vocabulary enabling the skill to recognize voice commands such as “what time is it?” and the functionality to search for current time and respond to the user with the current time.
To begin interacting with a skill, a user generally must say a phrase. The phrase acts as a command, causing the conversational system to perform an action. For example, a user might say, “What time is it?” to have the conversational system say the current time. Similarly, a user might say, “Remind me to get milk next time I'm near a supermarket” to have the conversational system add an appropriate reminder to a reminder application and report this status to the user.